package com.smt.modules.bus.dao;

import com.smt.modules.bus.entity.ProjectEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.smt.modules.bus.entity.ProjectTaskEntity;
import com.smt.modules.bus.vo.ProjectVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 项目信息表
 * 
 * @author murong
 * @email 981620741@qq.com
 * @date 2018-09-29 15:37:09
 */
@Mapper
public interface ProjectDao extends BaseMapper<ProjectEntity> {

    /**
     * 获取成员所属的项目列表
     *
     * @param memberId
     * @return
     */
    List<ProjectEntity> selectProjectByMemberId(Long memberId);

    /**
     * 修改项目
     *
     * @param projectEntity
     * @return
     */
    int updateProject(ProjectEntity projectEntity);

    /**
     * 查找当前的项目创建者是否是本人
     *
     * @param project
     * @return
     */
    Long selectCreator(Long project);

    /**
     *  查询当前的用户参见的所有项目名字
     *
     * @param memberId
     * @return
     */
    List<ProjectVo> projectNameList(Long memberId);


    /**
     * 插入初始任务信息
     *
     * @param projectTaskEntity
     * @return
     */
    int insertInitProjectTask(ProjectTaskEntity projectTaskEntity);

    /**
     * 删除任务
     *
     * @param ids
     * @return
     */
    int deleteProjectTask(List<Integer> ids);


    /**
     * 获取权限名字
     *
     * @param memberId
     * @return
     */
    List<String> selectUserName(Long memberId);

    /**
     * 获取项目创建者id
     *
     * @param projectId
     * @return
     */
    Long selectProjectCreator(Long projectId);

    /**
     * 插入项目
     *
     * @param projectEntity
     * @return
     */
    Long insertProject(ProjectEntity projectEntity);
}
